package article1.staticfactory;

/**
 * 用静态工厂方法代替构造器
 * @author cctv
 */
public class Demo {

    /**
     * boolean基本类型的装箱类的简单示例
     * 静态工厂方法与构造器不同的优势：
     * 1.它们有名字
     * 2.不必再每次调用他们的时候都创建一个新对象
     * 3.它们可以返回原返回类型的任何子类型的对象？
     * 4.所返回的对象的类可以随着每次调用而发生变化，这取决于静态方法的参数值？
     * 5.方法返回的对象所属的类，再编写包含该静态工厂方法的类的时候可以不存在？
     * 缺点：
     * 1.类如果不含有公有的或者受保护的构造器，就不能被子类化？
     * 2.程序员很难发现它们
     *
     * @param b
     * @return
     */
    public static Boolean valueOf(boolean b){
        return b?Boolean.TRUE:Boolean.FALSE;
    }


}
